/**
 * Player.java
 * 
 * Player class is used by the WordGameTournament class to store the 
 * player information.
 * 
 * CSCE 155 Spring 2010
 * Assignment 2
 * @author Josh Branchaud
 * @version 1.0, 02/03/2010
 */

// import statements
import java.io.*;

public class Player
{
    //*** Private Data Members - Variables ***//

    // The name of the player.
    private String name;

    // The total number of wins a player has during a given set of games.
    private int gamesWon;

    // The total number of incorrect guesses a player has during a given set of games.
    // This is only collected from Game1.
    private int incorrectGuesses;

    // The total amount of time a player takes during a given set of games.
    // This is only collected from Game2.
    private long guessingTime;
    
    // The player's skill level
    private int skill;

    //*** end of Private Data Members ***//


    //*** Constructor(s) ***//

    // Basic constructor for player that initializes all the private variables
    // to 0.
    public Player()
    {
        this.name = "";
        this.gamesWon = 0;
        this.incorrectGuesses = 0;
        this.guessingTime = 0;
        this.skill = 0;
    }

    //*** end of Constructor(s) ***//


    //*** Getter Methods for Private Variables ***//

    /**
     * getName will retrieve the String that represents the players name allowing
     * other classes to access this private variable.
     * @param None
     * @return String
     */
    public String getName()
    {
        return this.name;
    }

    /**
     * getGamesWon will retrieve the value of gamesWon allowing other classes to
     * access this private variable.
     * @param None
     * @return int
     */
    public int getGamesWon()
    {
        return this.gamesWon;
    }

    /**
     * getIncorrectGuesses will retrieve the value of incorrectGuesses allowing
     * other classes to access this private variable.
     * @param None
     * @return int
     */
    public int getIncorrectGuesses()
    {
        return this.incorrectGuesses;
    }

    /**
     * getGuessingTime will retrieve the value of guessingTime allowing other
     * classes to access this private variable.
     * @param None
     * @return long
     */
    public long getGuessingTime()
    {
        return this.guessingTime;
    }
    
    /*
     * getSkill will retrieve the value of skill allowing other classes to
     * access this private variable.
     * @return int
     */
    public int getSkill()
    {
    	return this.skill;
    }

    //*** end of Getter Methods ***//


    //*** Setter Methods for Private Variables ***//

    /**
     * setName will set this player's name to the given String.
     * @param newName
     * @return void
     */
    public void setName(String newName)
    {
        this.name = newName;
    }

    /**
     * setGamesWon will set this player's gamesWon to the given int.
     * @param newGamesWon
     * @return void
     */
    public void setGamesWon(int newGamesWon)
    {
        this.gamesWon = newGamesWon;
    }

    /**
     * setIncorrectGuesses will set this player's incorrectGuesses to the given
     * int.
     * @param newIncorrectGuesses
     * @return void
     */
    public void setIncorrectGuesses(int newIncorrectGuesses)
    {
        this.incorrectGuesses = newIncorrectGuesses;
    }

    /**
     * setGuessingTime will set this player's guessingTime to the given double.
     * @param newGuessingTime
     * @return void
     */
    public void setGuessingTime(long newGuessingTime)
    {
        this.guessingTime = newGuessingTime;
    }
    
    /*
     * setSkill will set this player's skill to the given int.
     * @param newSkill
     */
    /*public void setSkill(int newSkill)
    {
    	this.skill = newSkill;
    }*/

    //*** end of Setter Methods ***//

} //end of class Player
